異なるキャッシュ・コヒーレンス・ドメインの間の情報共有技法
专利摘要:
異なるキャッシュ・コヒーレンス・ドメイン内のエージェント間での情報共有を可能にする技法。ある実施形態では、グラフィック装置が、情報を記憶または読み出しするために一つまたは複数の処理コアによって使用される一つまたは複数のキャッシュを使用しうる。前記一つまたは複数のキャッシュは、前記グラフィック装置に関するプログラミングおよびコヒーレンス規則に影響しない仕方で、一つまたは複数の処理コアによってアクセスされうる。 公开号:JP2011515001A 申请号:JP2010550927 申请日:2009-03-27 公开日:2011-05-12 发明作者:オッフェン,ゼーヴ;カーン,オペル;コーカー,アルトゥグ;ピアッツァ,トマス,エー.;ファレル,ロバート,エル.;ベルコヴィッツ,アリエル 申请人:インテル コーポレイション; IPC主号:G06F12-08
专利说明:
[0001] 本発明の実施形態は、概括的には情報処理の分野に関する。より特定的には、本発明の実施形態は少なくとも二つの異なるキャッシュ・コヒーレンス・ドメイン(cache coherency domain)において動作するエージェント間でキャッシュ・コヒーレンスを可能にする技法に関する。] 背景技術 [0002] コンピューティング・プラットフォームおよびマイクロプロセッサにますます多くの機能が組み込まれるにつれ、異なる機能ユニットの間での情報共有が増す傾向がある。たとえば、グラフィックまたは他のスループット論理を、一つまたは複数のホスト中央処理ユニット(CPU)または「コア」と同じコンピューティング・プラットフォーム、パッケージまたは集積回路に組み込むことは、それら一つまたは複数のコアとグラフィック論理〔グラフィクス・ロジック〕との間で情報を共有することを望ましくすることがありうる。いくつかの従来技術の事例では、異なる機能ユニットが同じシステム、パッケージまたはダイに組み込まれる場合、一つまたは複数のコアによってアクセスされる(記憶されるまたは読まれる)情報は、グラフィック論理のような他の機能ユニットとは異なるキャッシュ・コヒーレンス・ドメイン内にある対応するキャッシュ階層(たとえばレベル1、中間レベル、レベル2キャッシュ)において維持される。] 発明が解決しようとする課題 [0003] 異なるキャッシュ・アドレスの間で異なるコヒーレンス・ドメインにおいて、あるいは異なるキャッシュ・コヒーレンス・ドメインに従ってデータを維持することは、より多くのキャッシュ・メモリが使用されることを要求しうる。このことは、システム・コストおよび電力消費を増大させうる。さらに、異なる機能ユニットの間で情報が共有される状況において、異なる対応するキャッシュ階層ドメインを維持すると、異なる機能ユニットの間で情報を共有するためには、各機能ユニットはDRAMのようなメイン・メモリ・ソースにアクセスしなければならなくする。DRAMのようなメイン・メモリ・ソースは典型的にはキャッシュのような他のメモリ構造よりもアクセス速度の面でより低速である。したがって、異なる機能ユニットの間で情報を共有するためにメイン・メモリに頼ることは、機能ユニットおよび/またはシステムのパフォーマンスを劣化させることがありうる。] 課題を解決するための手段 [0004] 本発明の課題は請求項記載の手段によって解決される。] [0005] 本発明の実施形態は限定ではなく例として付属の図面において図示される。同様の参照符号は同様の要素を指す。] 図面の簡単な説明 [0006] 本発明の少なくとも一つの実施形態が使用されうるシステムのブロック図である。 本発明の少なくとも一つの実施形態が使用されうるプロセッサを示す図である。 本発明の少なくとも一つの実施形態が使用されうる共有バス・コンピュータ・システムのブロック図である。 本発明の少なくとも一つの実施形態が使用されうるポイントツーポイント相互接続コンピュータ・システムのブロック図である。 ある実施形態で使用されうる動作を示す流れ図である。] 実施例 [0007] 本発明の実施形態はコンピュータ・システムおよび情報処理に関する。より特定的には、本発明の実施形態は、少なくとも一つの中央処理ユニット(CPU)が、別の処理論理(たとえばグラフィック処理論理)によってアクセスまたは生成される情報への可視性を得る、よってそのような情報とのあるレベルのコヒーレンスを得ることを許容する技法に関する。そのような別の処理論理は、前記少なくとも一つのCPUとは異なるコヒーレンス・ドメインにおいて動作してもよい。いくつかの実施形態では、一つまたは複数のCPUは「最終レベル・キャッシュ(last level cache)」(LLC)または「レベル2」(L2)キャッシュのようなあるレベルのキャッシュを、一つまたは複数の処理論理(たとえばグラフィック論理)と共有し、該一つまたは複数の処理論理は前記一つまたは複数のCPUとは異なるコヒーレンス・プロトコルを実装するあるいはそうでなければ異なるコヒーレンス・ドメイン内で動作するのでもよい。ある実施形態では、CPUおよびグラフィック論理は同じダイ、パッケージまたはシステム内に組み込まれ、CPUはグラフィック論理のキャッシュ・コヒーレンス階層における少なくとも一つのレベルのキャッシュならびに前記グラフィック論理がやはりアクセスしうるLLCへのアクセスを有しうる。これによりCPUとグラフィック論理との間でDRAMのようなメイン・メモリ・ソースにアクセスすることなく情報が共有できる。] [0008] 図1は、少なくとも一つの実施形態が使用されうるシステムを示している。図1において、少なくとも一つのCPU 101および少なくとも一つのグラフィック論理(graphics logic)105が同じダイ、パッケージまたはシステム内に統合されている。さらに、ある実施形態では、CPUおよびグラフィック論理はそれぞれのキャッシュ階層と通信する。該キャッシュ階層は第一レベル・キャッシュまたは「レベル1」(L1)キャッシュ103、104、中間レベル(mid-level)・キャッシュ107、108および最終レベル・キャッシュ(LLC)または「レベル2」(L2)キャッシュ110を含みうる。ある実施形態では、各L1および中間レベル・キャッシュは異なる論理構造である。一方、LLCは同じ情報を記憶しうる構成された一つのキャッシュであり、したがってCPUのL1およびMLCならびにグラフィック論理のMLCのそれぞれに記憶された情報を含む。ある実施形態では、LLCは、グラフィック論理がそのL1キャッシュ104の内容をそのMLC 108に移動またはコピーすることによって、グラフィック論理のL1キャッシュを含むこともできる。ここで、MLC 108はCPUコヒーレンス制御動作に関してLLCとのコヒーレンスを維持する。グラフィックL1キャッシュ104(これはグラフィック・コヒーレンス・ドメイン111内にある)とグラフィックMLC(これはCPUコヒーレンス・ドメイン109内にある)との間で情報をコピーまたは移動することによって、CPUコヒーレンス・ドメイン109(これはある実施形態では、CPU 101、L1キャッシュ103、MLC 107およびLLC 110を含む)とグラフィック・コヒーレンス・ドメイン111(これはある実施形態ではグラフィック論理105およびグラフィックL1キャッシュ104を含む)との間で情報が共有できる。] 図1 [0009] いくつかの実施形態では、グラフィック論理によって仮想的にアドレッシングされうるグラフィックL1キャッシュ104に記憶された情報が、グラフィック画像のレンダリングに関連するさまざまなイベントの発生に応答してグラフィックMLC108に移動またはコピーされる。ある実施形態では、グラフィックL1キャッシュ104からMLC 108への情報の移動/コピーは、グラフィック・ドライバまたは他の何らかの論理もしくはソフトウェア・プログラムによって管理および実行される。グラフィックL1キャッシュ104内の情報をMLC 108に移動またはコピーさせるイベント後には、その情報はCPUコヒーレンス・ドメイン内にあり、ある実施形態では物理アドレスを使って、あるいはCPUによって使用される他のアドレッシング方式(たとえば仮想アドレス)を使って、CPUによってアドレッシングおよびアクセスされうる。] [0010] CPUおよびグラフィック・コヒーレンス・ドメインに加えて、図1のシステムは表示装置(たとえばモニタ)115をも含む。この表示装置は、CPUコヒーレンス・ドメインおよびグラフィック・コヒーレンス・ドメインに関して非コヒーレントである独自のコヒーレンス・ドメイン113内にあってもよい。ある実施形態では、表示装置115は、CPUまたはグラフィック論理のキャッシュ階層内のキャッシュと直接ではなく、メイン・システム・メモリ120と通信してもよい。] 図1 [0011] ある実施形態では、グラフィック論理105は、システム・メモリ120に頼ることなく、CPUによってLLC 110内に記憶された情報にアクセスしてCPUのL1(103)およびCPUのMLC(107)内の情報をのぞき見することによって、CPUによって利用可能または修正可能な情報にアクセスをもちうる。さらに、ある実施形態では、CPUは、LLC 110やシステム・メモリ120に頼ることなく、グラフィック論理の中間レベル・キャッシュ107に記憶されている情報にアクセスするまたは「のぞき見」してもよい。ある実施形態では、CPUやグラフィック装置がキャッシュ階層へのアクセスに比べてかなりの時間がかかるメイン・システム・メモリへのアクセスを行う必要なく、CPUコヒーレンス・ドメインとグラフィック論理コヒーレンス・ドメインとの間で情報が共有されてもよい。さらに、ある実施形態では、それぞれのCPUまたはグラフィック・キャッシュ・コヒーレンス・プロトコルを著しく変えたり影響したりすることなく、CPUコヒーレンス・ドメインとグラフィック論理コヒーレンス・ドメインとの間で情報が共有されうる。] [0012] ある実施形態では、グラフィック論理は、そのキャッシュ・コヒーレンス・ドメイン(111)内のデータにアクセスするために仮想アドレスを生成する。しかしながら、グラフィック論理によって読まれるだけである、または他の仕方でグラフィック論理によって「所有されている」もの(「R/Oキャッシュ」)のような、グラフィック・コヒーレンス・ドメイン内のキャッシュの一部は、仮想タグを使うだけでもよい。一方、グラフィック論理によって読み書きされるもの(「R//Wキャッシュ」)のようなグラフィック・コヒーレンス・ドメイン内の他のキャッシュは、仮想および物理的アドレッシングの両方をサポートするために仮想タグおよび物理的タグの両方を使用しうる。ある実施形態では、キャッシュ・ミスがあった場合、キャッシュ階層へのグラフィック論理のアクセスは仮想アドレスから物理アドレスに変換される。それにより、システム・メモリ内の適正な物理アドレスが生成できる。] [0013] CPUコヒーレンス・ドメインでは少なくとも二つの規則が適用される。第一に、キャッシュ・コヒーレンス規則は、位置ごとのアクセス順序付けが互いにシーケンシャルに整合的(sequentially consistent)であることを要求してもよい。シーケンシャルに整合的なアクセスは、あるキャッシュ位置にアクセスするすべての動作についてグローバルな、順序に従った(in-order)可視性を要求する。第二に、CPU順序付け規則は典型的には、単一のプロセッサによる諸書き込みはすべてのプロセッサによって同じであると観察される(observed)ことを要求するが、異なるプロセッサからの諸書き込みは異なる順序で観察されてもよい。しかしながら、プロセッサは、実行の順序において、自らの諸書き込みを遵守しなければならない。] [0014] グラフィック・キャッシュ・コヒーレンス・ドメインは、ホストCPUのキャッシュ・コヒーレンス・ドメインとはいくつかの点で異なることがある。一つには、グラフィック・キャッシュ・ドメインでは、コヒーレンスは画像レンダリング・プロセスにおけるいくつかの点においてのみ保証されうる。一方、典型的なCPUキャッシュ・ドメインにおけるコヒーレンスは継続的に維持される。さらに、グラフィック・コヒーレンス・ドメイン・キャッシュは典型的には仮想的にアドレッシングされ、のぞき見はされないので、L1または中間レベル・キャッシュ(MLC)内に記憶された情報がLLC内に含まれることは保証されない。したがって、LLCからあるラインが追い出されるとき、それより低レベルのキャッシュは更新されないことがありうる。補償するために、グラフィック論理は、無効‐修正(invalid-to-modified)(「ItoM」)トランザクションを使用してもよい。全ライン追い出しのためにはこれらの追い出しライトバック・トランザクション、部分ライン追い出しのためにはリード・フォー・オウナーシップ(RFO: read-for-ownership)トランザクションを実行するためである。最後に、グラフィック装置は典型的には、順序外のアンコア(un-core)ファブリック(fabric)に接続された非投機的(non-speculative)な順序外(out-of-order)機械である。グラフィック論理は典型的には、キャッシュ階層またはメモリに対してアクセスを発した後ではアクセスを並べ替えることはできないので、従属アクセス(dependent accesses)は、発される前に、その先行者がグローバルに観察されていたことを確かめる必要がある。] [0015] 本発明の実施形態は、グラフィック・キャッシュ・コヒーレンス・ドメインとCPUキャッシュ・コヒーレンス・ドメインとの間でメイン・システム・メモリへのアクセスに頼ることなくデータが共有されることを許容しつつ、両ドメイン間の相違を考慮に入れる。ある実施形態では、CPUキャッシュ・コヒーレンス規則は、グラフィック論理の中間レベル・キャッシュ、LLCおよびメイン・メモリを含むいかなる物理的にアドレッシングされる構造にも適用される。CPUドメインとグラフィック・ドメインとの間のコヒーレンス境界横断アクセスのために、CPUはグラフィックMLCをのぞき見してもよい。グラフィックMLCはCPUコヒーレンス・ドメインにおけるのと同じように振る舞うであろう。さらに、本発明の実施形態は、グラフィックL1およびMLCに記憶されているデータをLLC内に含めることを許容する。それにより、グラフィック論理は、メイン・システム・メモリに頼ることなく、LLCを利用しうる。ある実施形態では、グラフィックL1からのデータは、レンダリング・イベントに応答してグラフィック装置がL1データをそのMLCにコピーまたは移動することによって、LLC内に含められる。それによりグラフィックL1データをCPUコヒーレンス・ドメイン内に入れ、それがLLC内に包まれることを保証する。するとグラフィック論理はのちに、この情報がグラフィックL1やMLC内に見出されなかった場合、LLCからこの情報にアクセスできる。] [0016] 図2は、本発明の少なくとも一つの実施形態が使用されうるプロセッサを示している。特に、図2は、一つまたは複数の中央処理ユニット(CPU)205および210ならびに少なくとも一つの非CPU機能ユニット207および213を有するプロセッサ200を示している。図2にはまた、機能ユニット207および213によって実行されない他の動作を実行しうる少なくとも一つの他の非CPU機能ユニット215が示されている。ある実施形態では、機能ユニット207、213および215は、グラフィック処理、メモリ制御およびオーディオ、ビデオ、ディスク制御、デジタル信号処理等のような周辺機器制御といった機能を含みうる。いくつかの実施形態では、プロセッサ200はまた、I/O制御のような図2に示されていない他の論理をも含んでいてもよい。ある実施形態では、マルチプロセッサ・システムにおける各プロセッサまたはマルチコア・プロセッサにおける各プロセッサ・コアが、一つまたは複数のCPUと一つまたは複数のグラフィック論理との間の情報共有を可能にするために論理219を含むまたは他の形でそのような論理219と関連付けられていてもよい。] 図2 [0017] いくつかの実施形態において、プロセッサ200は汎用CPUであってもよい。他の実施形態では、プロセッサは、汎用CPU集積回路およびグラフィック固有ハードウェアもしくは他の並列計算ハードウェアの両方を含みうるシステム内でグラフィック固有機能を実行できる汎用CPUまたはハードウェアのいずれかであってもよい。汎用計算がグラフィック・エンジン、テクスチャ・サンプルなどのような並列計算ハードウェアとますます統合されるにつれ、論理219はますます多用途かつ位置独立になる。結果として、論理219はハードウェア/ソフトウェアまたはその任意の組み合わせを含むことができ、プロセッサ200の任意の部分の中または外に位置されまたは統合されることができる。] [0018] ある実施形態では、論理219は、CPUやグラフィック論理のキャッシュ・コヒーレンス規則を著しく修正することなくCPUがグラフィックMLCをのぞき見できるようにする論理を含む。さらに、論理219は、グラフィック・デバイスが、まずメイン・メモリに頼ることなく、LLC内の情報にアクセスすることを許容する論理を含みうる。さらに、論理219は、グラフィックL1キャッシュ内に記憶されている情報が今やグラフィックMLC内に存在するときCPUに通知し、それによりCPUが該情報をのぞき見しうるようにするのを助けてもよい。] [0019] 図3は、本発明のある実施形態が使用されうる共有バス・コンピュータ・システムを示している。マイクロプロセッサ301〜315は、一つまたは複数のCPU(323、327、333、337、343、347、353、357)、グラフィック装置(307、317、327、337)、メモリ・コントローラ(325、335、345、355)、I/O制御またはPCIもしくはPCIeコントローラ(320、330、340、350)のような他の機能ユニットといったさまざまな機能ユニットを含みうる。図3のシステムは、マイクロプロセッサを周辺機器制御装置360とインターフェースをもたせるためにI/Oコントローラ365をも含んでいてもよい。] 図3 [0020] ある実施形態では、システムは、CPUやグラフィック論理のキャッシュ・コヒーレンス規則を著しく修正することなくCPUがグラフィックMLCをのぞき見できるようにする論理319を含む。さらに、論理319は、グラフィック・デバイスが、まずメイン・メモリに頼ることなく、LLC内の情報にアクセスすることを許容する論理を含みうる。さらに、論理219は、グラフィックL1キャッシュ内に記憶されている情報が今やグラフィックMLC内に存在するときCPUに通知し、それによりCPUが該情報をのぞき見しうるようにするのを助けてもよい。] [0021] いくつかの実施形態では、図3に示される要素の一部または全部がマイクロプロセッサに含められていてもよく、直接メモリ・インターフェース(DMI: direct memory interface)、PCIエクスプレス・グラフィクス(PEG:PCIexpress graphics)相互接続などのような他の相互接続を含んでいてもよい。構成に関わりなく、本発明の実施形態は、図3のシステムのいかなる部分に含まれ、あるいは他の仕方で関連付けられてもよい。図3のシステムは、メイン・メモリ(図示せず)をも含んでいてもよい。メイン・メモリは、動的ランダム・アクセス・メモリ(DRAM)、ハードディスク・ドライブ(HDD)またはネットワーク・インターフェースを介して当該コンピュータ・システムからリモートに位置されるメモリ・ソースといった、さまざまな記憶装置および技術を含むさまざまなメモリ構造を含みうる。図3のシステム内のキャッシュ・メモリは、プロセッサ内またはプロセッサの近傍に、たとえばプロセッサのローカル・バス上に位置されうる。] 図3 [0022] さらに、キャッシュ・メモリは、六トランジスタ(6T)セルまたは同じくらいもしくはより高速なアクセス速度の他のメモリ・セルといった比較的高速なメモリ・セルを含んでいてもよい。] [0023] 図3に示される共有バス・コンピュータ・システムに加えて、ポイントツーポイント(P2P: point-to-point)相互接続システムおよびリング相互接続システムを含め、他のシステム構成が本発明のさまざまな実施形態と一緒に使用されてもよい。たとえば図4のP2Pシステムがいくつかのプロセッサを含んでいてもよい。そのうち二つのプロセッサ470、480だけが例として図示されている。プロセッサ470、480はそれぞれ、メモリ42、44と接続するローカルなメモリ・コントローラ・ハブ(MCH)472、482を含みうる。プロセッサ470、480は、PtPインターフェース回路478、488を使ってポイントツーポイント(PtP)インターフェース450を介してデータを交換しうる。プロセッサ470、480はそれぞれ、ポイントツーポイント・インターフェース回路476、494、486、498を使って個々のPtPインターフェース452、454を介してチップセット490とデータを交換しうる。チップセット490はまた、高性能〔ハイ・パフォーマンス〕グラフィック・インターフェース439を介して高性能グラフィック回路438とデータを交換してもよい。本発明の実施形態は、任意の数の処理コアを有する任意のプロセッサ内に、あるいは図4の各PtPバス・エージェント内に位置していてよい。] 図3 図4 [0024] ある実施形態では、図4は、CPUやグラフィック論理のキャッシュ・コヒーレンス規則を著しく修正することなくCPUがグラフィックMLCをのぞき見できるようにする論理419を含む。さらに、論理419は、グラフィック・デバイスが、まずメイン・メモリに頼ることなく、LLC内の情報にアクセスすることを許容する論理を含みうる。さらに、論理219は、グラフィックL1キャッシュ内に記憶されている情報が今やグラフィックMLC内に存在するときCPUに通知し、それによりCPUが該情報をのぞき見しうるようにするのを助けてもよい。] 図4 [0025] 図5は、本発明の少なくとも一つの実施形態との関連で使用されうる動作の流れ図を示している。動作501では、グラフィック装置はそのL1キャッシュに記憶されている情報をCPUコヒーレンス・ドメイン内のMLCにコピーまたは移動させ、動作505で、CPUによって要求された情報についてグラフィック論理のMLCにCPUからスヌープ〔のぞき見〕が発される。動作510において要求された情報がグラフィック論理のMLC内に存在していなければ、スヌープは動作515において、該情報を求めてLLCに進みうる。該情報が動作520においてLLCに存在していなければ、動作525においてアクセスはメイン・メモリに進む。ある実施形態では、CPUはMLCをのぞき見するために物理アドレスを使用しうる。というのも、MLCは、グラフィック論理によって使用される仮想アドレス・タグに加えて物理アドレス・タグを含むからである。さらに、ある実施形態ではグラフィック論理はLLC内に情報を記憶しこれにアクセスしうるので、CPUによって要求された情報はMLCではなくLLC内にあってもよい。] 図5 [0026] 少なくとも一つの実施形態の一つまたは複数の側面は、プロセッサ内のさまざまな論理を表す機械可読媒体上に記憶された表現データによって実装されてもよい。そのデータは、機械によって読み込まれたとき、該機械に、本稿に記載された技法を実行する論理を作成させる。「IPコア」として知られるそのような表現は、具体的な機械可読媒体(「テープ」)上に記憶されてもよく、実際に論理またはプロセッサをなす作成機械中にロードすべくさまざまな顧客または製造施設に供給されてもよい。] [0027] このように、マイクロアーキテクチャ上のメモリ領域アクセスの行き先を決定する方法および装置が記載されてきた。上記の記述は例示的であることが意図されており、制限するものではないことは理解しておくべきである。上記の記述を読み、理解すれば、当業者には他の多くの実施形態が明白となるであろう。したがって、本発明の範囲は付属の請求項を参照して、そのような請求項が資格を有する等価物の全範囲をもつものとして、決定されるべきである。]
权利要求:
請求項1 グラフィック論理コヒーレンス・ドメイン内の第一のキャッシュおよび第二のキャッシュと、物理アドレスを使って前記第一のキャッシュ内に記憶された情報にアクセスする、前記グラフィック論理とは異なるコヒーレンス・ドメインにある中央処理ユニット(CPU)とを有する装置であって、前記第一のキャッシュは前記第二のキャッシュよりもキャッシュ階層において低いレベルにある、装置。 請求項2 前記グラフィック論理が前記第二のキャッシュ内に情報を記憶する、請求項1記載の装置。 請求項3 前記第二のキャッシュがより低レベルの諸キャッシュを含む最終レベル・キャッシュ(LLC)である、請求項2記載の装置。 請求項4 前記第一のキャッシュが中間レベル・キャッシュ(MLC)である、請求項1記載の装置。 請求項5 前記CPUのキャッシュ・コヒーレンス・ドメインに対応する第三および第四のキャッシュをさらに有する請求項1記載の装置であって、前記第三のキャッシュがレベル1(L1)キャッシュであり、前記第四のキャッシュが中間レベル・キャッシュ(MLC)である、請求項1記載の装置。 請求項6 前記グラフィック論理のコヒーレンス・ドメインに対応するL1キャッシュをさらに含む、請求項5記載の装置。 請求項7 CPUレベル1(L1)キャッシュ、CPU中間レベル・キャッシュ(MLC)および最終レベル・キャッシュ(LLC)を含むCPUキャッシュ階層に対応する中央処理ユニット(CPU)を含み、グラフィックL1キャッシュ、グラフィックMLCおよびグラフィックLLCに対応するグラフィック論理を含むマイクロプロセッサであって、前記CPUキャッシュ階層は前記グラフィック論理のキャッシュ階層の一部分と異なるコヒーレンス・ドメインにあり、前記CPUは前記グラフィックMLCをのぞき見する、マイクロプロセッサと、前記CPUキャッシュ階層および前記グラフィック・キャッシュ階層内に含まれる情報を記憶するシステム・メモリとを有するシステム。 請求項8 前記LLCがCPUおよびグラフィックのL1キャッシュおよびMLCに記憶されている情報を含む、請求項7記載のシステム。 請求項9 前記グラフィック論理が、要求された情報を求めて前記システム・メモリにアクセスする前に、情報を求めて前記LLCにアクセスする、請求項8記載のシステム。 請求項10 さらに表示装置を有する、請求項7記載のシステム。 請求項11 前記表示装置が前記CPUおよび前記グラフィック論理とは異なるコヒーレンス・ドメインにある、請求項10記載のシステム。 請求項12 前記CPUおよび前記グラフィック・プロセッサが同じダイ内に含まれている、請求項7記載のシステム。 請求項13 グラフィック・レベル1(L1)キャッシュからのデータをグラフィック中間レベル・キャッシュ(MLC)に記憶する段階と;中央処理ユニットから前記中間レベル・キャッシュにスヌープを発する段階と;前記スヌープの結果がミスであった場合、より高レベルのキャッシュにアクセスする段階であって、前記グラフィックL1キャッシュに記憶されている情報は前記より高レベルのキャッシュに含まれる、段階と;前記より高レベルのキャッシュへのアクセスの結果がミスであった場合、システム・メモリにアクセスする段階とを含む、方法。 請求項14 前記より高レベルのキャッシュが前記グラフィック・キャッシュを含む最終レベル・キャッシュ(LLC)である、請求項13記載の方法。 請求項15 前記グラフィックL1キャッシュが第一のコヒーレンス・ドメイン内にあり、前記グラフィックMLCが第二のコヒーレンス・ドメイン内にある、請求項14記載の方法。 請求項16 請求項15記載の方法であって、さらに前記CPUのキャッシュ・コヒーレンス・ドメインに対応する第三および第四のキャッシュにアクセスする段階を含み、前記第三のキャッシュはレベル1(L1)キャッシュであり、前記第四のキャッシュは中間レベル・キャッシュ(MLC)である、方法。 請求項17 前記グラフィックL1キャッシュが前記グラフィック論理のコヒーレンス・ドメインに対応する、請求項16記載の方法。 請求項18 表示装置から読み取り要求を前記システム・メモリに対して発する段階をさらに含む、請求項17記載の方法。 請求項19 CPUキャッシュ・コヒーレンス・ドメインに対応する中央処理ユニット(CPU)と;GPUキャッシュ・コヒーレンス・ドメインに対応するグラフィック処理ユニット(GPU)とを有するプロセッサであって、前記CPUキャッシュ・コヒーレンス・ドメインおよび前記GPUキャッシュ・コヒーレンス・ドメインは、システム・メモリにアクセスすることなく、前記第一および第二のキャッシュ・コヒーレンス・ドメイン内に記憶された情報を共有する、プロセッサ。 請求項20 前記CPUキャッシュ・コヒーレンス・ドメインが第一のレベル1(L1)キャッシュおよび第一の中間レベル・キャッシュ(MLC)を含む、請求項19記載のプロセッサ。 請求項21 前記GPUキャッシュ・コヒーレンス・ドメインが第二のL1キャッシュおよび第二のMLCを含む、請求項20記載のプロセッサ。 請求項22 前記CPUキャッシュ・コヒーレンス・ドメインおよび前記GPUキャッシュ・コヒーレンス・ドメインが、第一および第二のMLC内に記憶されているすべての情報を記憶する最終レベル・キャッシュ(LLC)を含む、請求項21記載のプロセッサ。 請求項23 前記CPUが前記第二のMLCをのぞき見し、前記GPUが前記第一のMLCをのぞき見する、請求項19記載のプロセッサ。 請求項24 前記第一のMLCが、グラフィック・レンダリング・イベントに応答して前記第一のL1キャッシュに記憶されている情報を記憶する、請求項23記載のプロセッサ。 請求項25 前記第一のL1キャッシュからの情報を前記第一のMLCに記憶することが、その情報を前記CPUキャッシュ・コヒーレンス・ドメインに対して利用可能にする、請求項24記載のプロセッサ。
类似技术:
公开号 | 公开日 | 专利标题 US9372808B2|2016-06-21|Deadlock-avoiding coherent system on chip interconnect US10078592B2|2018-09-18|Resolving multi-core shared cache access conflicts JP5367899B2|2013-12-11|Technology to save cached information during low power mode TWI620128B|2018-04-01|Device and system for sharing resources between central processing unit and graphics processing unit JP2015084250A|2015-04-30|所与の範囲のページのキャッシュフラッシュおよび所与の範囲のエントリのtlb無効化を行なうシステム、方法、および装置 EP1388065B1|2007-09-12|Method and system for speculatively invalidating lines in a cache US6725343B2|2004-04-20|System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system US8046539B2|2011-10-25|Method and apparatus for the synchronization of distributed caches JP3787155B2|2006-06-21|ローカル・バス上の多重プロセッシング・キャッシュ・コヒーレンシ・プロトコル US8176257B2|2012-05-08|Cache used both as cache and staging buffer US7266647B2|2007-09-04|List based method and apparatus for selective and rapid cache flushes US8866831B2|2014-10-21|Shared virtual memory between a host and discrete graphics device in a computing system US7669010B2|2010-02-23|Prefetch miss indicator for cache coherence directory misses on external caches KR100745478B1|2007-08-02|복수의 코히어런시 영역을 갖는 멀티프로세서 컴퓨터 시스템 및 캐시 삭제가 없는 코히어런시 영역들 간의 소프트웨어 프로세스 이동 US6629205B2|2003-09-30|System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem US7669009B2|2010-02-23|Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches CN101097544B|2013-05-08|虚拟化事务存储器的全局溢出方法 US10310979B2|2019-06-04|Snoop filter for cache coherency in a data processing system US8656105B2|2014-02-18|Optimizing tag forwarding in a two level cache system from level one to lever two controllers for cache coherence protocol for direct memory access transfers US5996048A|1999-11-30|Inclusion vector architecture for a level two cache US7814292B2|2010-10-12|Memory attribute speculation US6366984B1|2002-04-02|Write combining buffer that supports snoop request US7003635B2|2006-02-21|Generalized active inheritance consistency mechanism having linked writes US7600080B1|2009-10-06|Avoiding deadlocks in a multiprocessor system US8244984B1|2012-08-14|System and method for cleaning dirty data in an intermediate cache using a data class dependent eviction policy
同族专利:
公开号 | 公开日 GB2493880A|2013-02-20| JP6707605B2|2020-06-10| GB2490821B|2013-01-30| US8643660B2|2014-02-04| CN103824251B|2017-09-26| US20170109280A1|2017-04-20| JP2014167831A|2014-09-11| GB2471786A|2011-01-12| JP5890378B2|2016-03-22| DE112009005503A5|2013-07-11| GB2487328B|2012-10-03| CN101978359A|2011-02-16| US9946650B2|2018-04-17| CN103824251A|2014-05-28| GB201221421D0|2013-01-09| US20170109304A1|2017-04-20| JP2014096176A|2014-05-22| US9665488B2|2017-05-30| CN107506312A|2017-12-22| US20090248983A1|2009-10-01| GB201214187D0|2012-09-19| US9035959B2|2015-05-19| DE112009000373T5|2011-01-27| GB2495032A|2013-03-27| GB201213564D0|2012-09-12| JP5889961B2|2016-03-22| US20120200585A1|2012-08-09| GB201222945D0|2013-01-30| JP5889928B2|2016-03-22| US20130207987A1|2013-08-15| GB2495032B|2013-05-08| US9035960B2|2015-05-19| WO2009120997A3|2009-12-30| JP2013054789A|2013-03-21| JP2014032708A|2014-02-20| US20140136797A1|2014-05-15| CN103279426B|2017-03-01| JP6417344B2|2018-11-07| GB2487328A|2012-07-18| JP2019012563A|2019-01-24| US20130117509A1|2013-05-09| GB2471786B|2012-09-05| GB2493880B|2013-03-27| WO2009120997A2|2009-10-01| CN101978359B|2015-04-01| US10204051B2|2019-02-12| GB201015007D0|2010-10-20| US9035962B2|2015-05-19| JP2016085766A|2016-05-19| US20170109287A1|2017-04-20| GB2490821A|2012-11-14| CN103279426A|2013-09-04| GB201207247D0|2012-06-06| US10078590B2|2018-09-18|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JP2004326633A|2003-04-28|2004-11-18|Hitachi Ltd|階層型メモリシステム| JP2007257637A|2006-03-23|2007-10-04|Internatl Business Mach Corp <Ibm>|アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム|JP2014032708A|2008-03-28|2014-02-20|Intel Corp|異なるキャッシュ・コヒーレンス・ドメインの間の情報共有技法| CN104471554A|2012-08-17|2015-03-25|英特尔公司|共享虚拟存储器| JP2016146201A|2012-08-17|2016-08-12|インテル・コーポレーション|ユニファイドメモリアーキテクチャを介したメモリ共有|US4991081A|1984-10-31|1991-02-05|Texas Instruments Incorporated|Cache memory addressable by both physical and virtual addresses| JPH04328657A|1991-04-30|1992-11-17|Toshiba Corp|Cache memory| JPH06222990A|1992-10-16|1994-08-12|Fujitsu Ltd|データ処理装置| US5860109A|1996-07-01|1999-01-12|Sun Microsystems, Inc.|Methods and apparatus for a coherence transformer for connecting computer system coherence domains| US5963978A|1996-10-07|1999-10-05|International Business Machines Corporation|High level cache and method for efficiently updating directory entries utilizing an n-position priority queue and priority indicators| US6237064B1|1998-02-23|2001-05-22|Intel Corporation|Cache memory with reduced latency| US6243791B1|1998-08-13|2001-06-05|Hewlett-Packard Company|Method and architecture for data coherency in set-associative caches including heterogeneous cache sets having different characteristics| US6483516B1|1998-10-09|2002-11-19|National Semiconductor Corporation|Hierarchical texture cache| US6801207B1|1998-10-09|2004-10-05|Advanced Micro Devices, Inc.|Multimedia processor employing a shared CPU-graphics cache| US6449699B2|1999-03-29|2002-09-10|International Business Machines Corporation|Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems| JP2002032265A|2000-07-14|2002-01-31|Hitachi Ltd|キャッシュ・アクセス制御方式およびデータ処理システム| US6801208B2|2000-12-27|2004-10-05|Intel Corporation|System and method for cache sharing| JP2003005841A|2001-06-25|2003-01-08|Kenwood Corp|直流安定化電源装置| US6891543B2|2002-05-08|2005-05-10|Intel Corporation|Method and system for optimally sharing memory between a host processor and graphics processor| US7469321B2|2003-06-25|2008-12-23|International Business Machines Corporation|Software process migration between coherency regions without cache purges| US7355601B2|2003-06-30|2008-04-08|International Business Machines Corporation|System and method for transfer of data between processors using a locked set, head and tail pointers| US6862027B2|2003-06-30|2005-03-01|Microsoft Corp.|System and method for parallel execution of data generation tasks| US7023445B1|2004-04-12|2006-04-04|Advanced Micro Devices, Inc.|CPU and graphics unit with shared cache| JP2005309867A|2004-04-22|2005-11-04|Fujitsu Ltd|マルチコア・プロセサ試験方法| US7305524B2|2004-10-08|2007-12-04|International Business Machines Corporation|Snoop filter directory mechanism in coherency shared memory system| CN101057220A|2004-11-11|2007-10-17|皇家飞利浦电子股份有限公司|用于管理存储器空间的系统和方法| US20060112226A1|2004-11-19|2006-05-25|Hady Frank T|Heterogeneous processors sharing a common cache| US7454576B2|2004-12-27|2008-11-18|Intel Corporation|System and method for cache coherency in a cache with different cache location lengths| US7478201B2|2005-05-24|2009-01-13|International Business Machines Corporation|Data processing system, cache system and method for passively scrubbing a domain indication| US7725619B2|2005-09-15|2010-05-25|International Business Machines Corporation|Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes| US7958312B2|2005-11-15|2011-06-07|Oracle America, Inc.|Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state| US7543116B2|2006-01-30|2009-06-02|International Business Machines Corporation|Data processing system, cache system and method for handling a flush operation in a data processing system having multiple coherency domains| US7757045B2|2006-03-13|2010-07-13|Intel Corporation|Synchronizing recency information in an inclusive cache hierarchy| US7451277B2|2006-03-23|2008-11-11|International Business Machines Corporation|Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation| US7484042B2|2006-08-18|2009-01-27|International Business Machines Corporation|Data processing system and method for predictively selecting a scope of a prefetch operation| US8495308B2|2006-10-09|2013-07-23|International Business Machines Corporation|Processor, data processing system and method supporting a shared global coherency state| US8327173B2|2007-12-17|2012-12-04|Nvidia Corporation|Integrated circuit device core power down independent of peripheral device operation| US9035959B2|2008-03-28|2015-05-19|Intel Corporation|Technique to share information among different cache coherency domains| US8219711B2|2008-11-24|2012-07-10|Juniper Networks, Inc.|Dynamic variable rate media delivery system|US8615637B2|2009-09-10|2013-12-24|Advanced Micro Devices, Inc.|Systems and methods for processing memory requests in a multi-processor system using a probe engine| US9128849B2|2010-04-13|2015-09-08|Apple Inc.|Coherent memory scheme for heterogeneous processors| US9645866B2|2010-09-20|2017-05-09|Qualcomm Incorporated|Inter-processor communication techniques in a multiple-processor computing platform| GB2491588A|2011-06-06|2012-12-12|St Microelectronics Res & Dev|Multiprocessor with different cache coherency protocols between different parts| US8856456B2|2011-06-09|2014-10-07|Apple Inc.|Systems, methods, and devices for cache block coherence| US20140032854A1|2012-07-30|2014-01-30|Futurewei Technologies, Inc.|Coherence Management Using a Coherent Domain Table| US9563562B2|2012-11-27|2017-02-07|Nvidia Corporation|Page crossing prefetches| US9639471B2|2012-11-27|2017-05-02|Nvidia Corporation|Prefetching according to attributes of access requests| CN103049422B|2012-12-17|2013-11-27|浪潮电子信息产业股份有限公司|一种具有多cache一致性域的多处理器节点系统构建方法| US9824009B2|2012-12-21|2017-11-21|Nvidia Corporation|Information coherency maintenance systems and methods| US9785604B2|2013-02-15|2017-10-10|Intel Corporation|Preset evaluation to improve input/output performance in high-speed serial interconnects| US9563561B2|2013-06-25|2017-02-07|Intel Corporation|Initiation of cache flushes and invalidations on graphics processors| US9436972B2|2014-03-27|2016-09-06|Intel Corporation|System coherency in a distributed graphics processor hierarchy| US9330433B2|2014-06-30|2016-05-03|Intel Corporation|Data distribution fabric in scalable GPUs| US20160210231A1|2015-01-21|2016-07-21|Mediatek Singapore Pte. Ltd.|Heterogeneous system architecture for shared memory| KR101852012B1|2016-11-24|2018-06-11|전남대학교 산학협력단|캐쉬 우회 기법, 그 기법이 적용된 스트리밍 멀티프로세서 및 임베디드 시스템| KR101946476B1|2017-11-14|2019-05-20|전남대학교산학협력단|캐쉬 적중률 예측에 기반한 주기적 캐쉬 우회 기법, 그 기법이 적용된 스트리밍 멀티프로세서 및 임베디드 시스템| KR101853648B1|2018-03-13|2018-06-08|전남대학교 산학협력단|캐쉬 우회 기법, 그 기법이 적용된 스트리밍 멀티프로세서 및 임베디드 시스템|
法律状态:
2012-09-12| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 | 2012-12-07| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121206 | 2012-12-14| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121213 | 2013-01-09| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130108 | 2013-02-06| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130205 | 2013-05-01| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130430 | 2013-05-10| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130509 | 2013-06-05| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130604 | 2013-07-31| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130730 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|